package com.ssy.lingxi.platform.template.service.service.web;

import com.ssy.lingxi.common.model.dto.UserLoginCacheDTO;
import com.ssy.lingxi.common.model.vo.PageVO;
import com.ssy.lingxi.common.response.PageData;
import com.ssy.lingxi.common.response.Wrapper;
import com.ssy.lingxi.platform.template.service.entity.door.MemberLogistics;
import com.ssy.lingxi.platform.template.service.model.dto.common.CollectDTO;
import com.ssy.lingxi.platform.template.service.model.dto.common.IdDTO;
import com.ssy.lingxi.platform.template.service.model.dto.common.IdListDTO;
import com.ssy.lingxi.platform.template.service.model.dto.web.SaveLogisticsDTO;
import com.ssy.lingxi.platform.template.service.model.qo.MemberLogisticsQO;
import com.ssy.lingxi.platform.template.service.model.vo.web.MemberLogisticsListVO;
import com.ssy.lingxi.platform.template.service.model.vo.web.MemberLogisticsMainVO;

import java.util.List;

/**
 * @menu web - 会员物流门户 - 业务处理层
 * @author fhj
 * @version 2.0.0
 * @date 2021/04/14
 */
public interface MemberLogisticsWebService {

    Wrapper<Void> saveCurrMemberLogistics(SaveLogisticsDTO dto, UserLoginCacheDTO user);

    Wrapper<MemberLogistics> findCurrMemberLogistics(UserLoginCacheDTO user);

    Wrapper<PageData<MemberLogisticsListVO>> memberLogisticsList(MemberLogisticsQO qo);

    Wrapper<MemberLogisticsMainVO> memberLogisticsMain(IdDTO dto, UserLoginCacheDTO user);

    Wrapper<List<MemberLogistics>> findByIdIn(IdListDTO dto);

    Wrapper<Void> collect(CollectDTO dto, UserLoginCacheDTO user);

    Wrapper<PageData<MemberLogistics>> collectList(PageVO dto, UserLoginCacheDTO user);
}
